local sprotoparser = require "sprotoparser"

local proto = {}


proto.c2s = sprotoparser.parse [[
.package {
	type 		0 : integer
	session 	1 : integer
}

login 		1 {
	request {
		name 		0 : string
		password 	1 : string
	}	
}

logout 		2 {
	request {
		id 	0  : integer
	}	
}

spawn_arrow		3{
	request {
		id		0 : integer
		posX	1 : double
		posY	2 : double
		posZ	3 : double
		dirX	4 : double
		dirY	5 : double
		dirZ	6 : double
		angle	7 : double
	}
}

send_sync_arrow 	4{
	request {
		id		0 : integer
		posX	1 : double
		posY	2 : double
		posZ	3 : double
		rotX	4 : double
		rotY	5 : double
		rotZ	6 : double
		rotW	7 : double
	}
}

send_pos 	5{
	request {
		id		0 : integer
		posX	1 : double
		posY	2 : double
		posZ	3 : double
	}
}

update_life	6 {
	request {
		id 		0 : integer
		lifeNum 1 : integer
	}
}

update_arrow	7 {
	request {
		id 		 0 : integer
		arrowNum 1 : integer
	}
}

]]

proto.s2c = sprotoparser.parse [[
.package {
	type 		0 : integer
	session 	1 : integer
}

login 		1 {
	request {
		id 		0 : integer
		name	1 : string
	}
}

logout 		2 {
	request {
		id 	0  : integer
	}	
}

enter_scene 	3 {
	request {	
		id 		0 : integer
		name	1 : string
		scene	2 : integer
		avatar	3 : integer
		pos 	4 : *double
	}
}

spawn_arrow		4{
	request {
		id		0 : integer
		posX	1 : double
		posY	2 : double
		posZ	3 : double
		dirX	4 : double
		dirY	5 : double
		dirZ	6 : double
		angle	7 : double
	}
}

send_sync_arrow 	5{
	request {
		id		0 : integer
		posX	1 : double
		posY	2 : double
		posZ	3 : double
		rotX	4 : double
		rotY	5 : double
		rotZ	6 : double
		rotW	7 : double
	}
}

send_pos 	6{
	request {
		id		0 : integer
		posX	1 : double
		posY	2 : double
		posZ	3 : double
	}
}

update_life	7 {
	request {
		id 		0 : integer
		lifeNum 1 : integer
	}
}

update_arrow	8 {
	request {
		id 		 0 : integer
		arrowNum 1 : integer
	}
}

]]

return proto
